home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / edsb121b.zip / EDSFILE.008 (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-05-01  |  19KB  |  1,207 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN008
  27.     Integer  INTEGER001
  28.     Integer  INTEGER002
  29.     Integer  INTEGER003
  30.     Integer  INTEGER004
  31.     Real     REAL001
  32.     Real     REAL002
  33.     Real     REAL003
  34.     String   STRING001
  35.     String   STRING002
  36.     String   STRING003
  37.     String   STRING004
  38.     Byte     BYTE001
  39.     Byte     BYTE002
  40.     Byte     BYTE003
  41.     Byte     BYTE004
  42.     Byte     BYTE005
  43.     Word     WORD001
  44.  
  45. ;------------------------------------------------------------------------------
  46.  
  47.     If (TokCount() <> 1) Then
  48.         PrintLn 
  49.         PrintLn "@X0CEUTMOD6 FATAL ERROR: INVALID COMMAND SEQUENCE!"
  50.         PrintLn 
  51.         PrintLn "@X0APlease run EUTMOD6 from within EDSUtil..."
  52.         PrintLn 
  53.         Goto LABEL039
  54.     Else
  55.         GetToken STRING001
  56.         Select Case (STRING001)
  57.             Case "1"
  58.                 BOOLEAN004 = 1
  59.                 BOOLEAN007 = 0
  60.                 BOOLEAN008 = 0
  61.             Case "2"
  62.                 BOOLEAN004 = 0
  63.                 BOOLEAN007 = 0
  64.                 BOOLEAN008 = 0
  65.             Case "3"
  66.                 BOOLEAN004 = 0
  67.                 BOOLEAN007 = 1
  68.                 BOOLEAN008 = 0
  69.             Case "4"
  70.                 BOOLEAN004 = 0
  71.                 BOOLEAN007 = 0
  72.                 BOOLEAN008 = 1
  73.             Case Else
  74.                 PrintLn 
  75.                 PrintLn "@X0CEUTMOD6 FATAL ERROR: INVALID COMMAND SEQUENCE!"
  76.                 PrintLn 
  77.                 PrintLn "@X0APlease run EUTMOD6 from within EDSUtil..."
  78.                 PrintLn 
  79.             Endif
  80.     End Select
  81.     BOOLEAN005 = 0
  82.     :LABEL001
  83.     If (BOOLEAN005) Goto LABEL003
  84.     PrintLn 
  85.     PrintLn Space(20) + "@X0FName & Security Trashfile Maintenance MODULE"
  86.     PrintLn 
  87.     PrintLn "          @X0F(@X09N@X0F)@X0Bame trashfile"
  88.     PrintLn "          @X0F(@X09S@X0F)@X0Becurity trashfile"
  89.     PrintLn "          @X0F(@X09Q@X0F)@X0Buit"
  90.     PrintLn 
  91.     STRING001 = "N"
  92.     InputStr "Trashfile maintenance command", STRING001, 14, 1, "NnSsQqRr", 2 + 4
  93.     Newline
  94.     STRING001 = Upper(STRING001)
  95.     Select Case (STRING001)
  96.         Case "Q", "R"
  97.             BOOLEAN005 = 1
  98.             Goto LABEL039
  99.         Case "N"
  100.             If ((BOOLEAN004 && !BOOLEAN007) && !BOOLEAN008) Then
  101.                 Gosub LABEL019
  102.             ElseIf ((!BOOLEAN004 && !BOOLEAN007) && !BOOLEAN008) Then
  103.                 Gosub LABEL025
  104.             ElseIf ((!BOOLEAN004 && !BOOLEAN007) && BOOLEAN008) Then
  105.                 Gosub LABEL003
  106.             Else
  107.                 Gosub LABEL007
  108.             Endif
  109.             BOOLEAN005 = 0
  110.         Case "S"
  111.             If ((BOOLEAN004 && !BOOLEAN007) && !BOOLEAN008) Then
  112.                 Gosub LABEL022
  113.                 Goto LABEL002
  114.             Endif
  115.             If ((!BOOLEAN004 && !BOOLEAN007) && !BOOLEAN008) Then
  116.                 Gosub LABEL029
  117.                 Goto LABEL002
  118.             Endif
  119.             If ((!BOOLEAN004 && !BOOLEAN007) && BOOLEAN008) Then
  120.                 Gosub LABEL005
  121.                 Goto LABEL002
  122.             Endif
  123.             Gosub LABEL013
  124.             :LABEL002
  125.             BOOLEAN005 = 0
  126.     End Select
  127.     Goto LABEL001
  128.     :LABEL003
  129.     Gosub LABEL033
  130.     FSeek 2, 434, 0
  131.     FRead 2, STRING002, 75
  132.     FClose 2
  133.     STRING004 = PPEPath() + "USERNAME.XPT"
  134.     InputStr "Path & Filename to export to", STRING004, 15, 45, Mask_Path() + Mask_File(), 2 + 4 + 256
  135.     STRING004 = Strip(Upper(STRING004), " ")
  136.     If (STRING004 == "") Goto LABEL039
  137.     STRING002 = Trim(Upper(STRING002), " ")
  138.     If (Exist(STRING002)) Goto LABEL004
  139.     PrintLn 
  140.     PrintLn "@X0C" + STRING002 + " does not exist!"
  141.     PrintLn 
  142.     Delay 4
  143.     Goto LABEL039
  144.     :LABEL004
  145.     INTEGER003 = FileInf(STRING002, 4)
  146.     INTEGER002 = (INTEGER003 - 39) / 28
  147.     If (Exist(STRING004)) Then
  148.         FAppend 1, STRING004, 1, 2
  149.         If (Ferr(1)) Then
  150.             BOOLEAN003 = 1
  151.         Else
  152.             BOOLEAN003 = 0
  153.         Endif
  154.         If (BOOLEAN003) Then
  155.             PrintLn 
  156.             PrintLn "@X0CSorry, the @X0F" + STRING004 + " @X0Cfile is currently inaccessible..."
  157.             FClose 1
  158.             Return
  159.         Endif
  160.     Else
  161.         FCreate 1, STRING004, 1, 2
  162.         If (Ferr(1)) Then
  163.             BOOLEAN003 = 1
  164.         Else
  165.             BOOLEAN003 = 0
  166.         Endif
  167.         If (BOOLEAN003) Then
  168.             PrintLn 
  169.             PrintLn "@X0CSorry, the @X0F" + STRING004 + " @X0Cfile is currently inaccessible..."
  170.             FClose 1
  171.             Return
  172.         Endif
  173.     Endif
  174.     FOpen 2, STRING002, 0, 0
  175.     If (Ferr(2)) Then
  176.         BOOLEAN003 = 1
  177.     Else
  178.         BOOLEAN003 = 0
  179.     Endif
  180.     If (BOOLEAN003) Then
  181.         PrintLn 
  182.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  183.         FClose 1
  184.         FClose 2
  185.         Return
  186.     Endif
  187.     INTEGER001 = 1
  188.     Cls
  189.     PrintLn 
  190.     PrintLn Space(15) + "@X0A(@X0FUsername Trash File Exportation Procedure@X0A)"
  191.     PrintLn 
  192.     PrintLn 
  193.     PrintLn "@X0BFrom   :@X0E " + STRING002
  194.     PrintLn "@X0BTo     :@X0E " + STRING004
  195.     PrintLn 
  196.     Print "@X0CPlease wait, now exporting...@X0F    "
  197.     FSeek 2, 39, 0
  198.     While (INTEGER001 <= INTEGER002) Do
  199.         FSeek 2, 3, 1
  200.         FRead 2, STRING003, 25
  201.         STRING003 = Trim(STRING003, " ")
  202.         FPutLn 1, STRING003
  203.         Gosub LABEL037
  204.         Inc INTEGER001
  205.     EndWhile
  206.     FClose 1
  207.     FClose 2
  208.     PrintLn 
  209.     PrintLn "@X0BExporting process completed!"
  210.     Log "Username Trash file exported...", 0
  211.     Delay 4
  212.     STRING001 = "N"
  213.     Return
  214.     :LABEL005
  215.     Gosub LABEL033
  216.     FSeek 2, 959, 0
  217.     FRead 2, STRING002, 75
  218.     FClose 2
  219.     STRING004 = PPEPath() + "USERSEC.XPT"
  220.     InputStr "Path & Filename to export to", STRING004, 15, 45, Mask_Path() + Mask_File(), 2 + 4 + 256
  221.     STRING004 = Strip(Upper(STRING004), " ")
  222.     If (STRING004 == "") Goto LABEL039
  223.     STRING002 = Trim(Upper(STRING002), " ")
  224.     If (Exist(STRING002)) Goto LABEL006
  225.     PrintLn 
  226.     PrintLn "@X0C" + STRING002 + " does not exist!"
  227.     PrintLn 
  228.     Delay 4
  229.     Goto LABEL039
  230.     :LABEL006
  231.     INTEGER003 = FileInf(STRING002, 4)
  232.     INTEGER002 = (INTEGER003 - 39) / 4
  233.     If (Exist(STRING004)) Then
  234.         FAppend 1, STRING004, 1, 2
  235.         If (Ferr(1)) Then
  236.             BOOLEAN003 = 1
  237.         Else
  238.             BOOLEAN003 = 0
  239.         Endif
  240.         If (BOOLEAN003) Then
  241.             PrintLn 
  242.             PrintLn "@X0CSorry, the @X0F" + STRING004 + " @X0Cfile is currently inaccessible..."
  243.             FClose 1
  244.             Return
  245.         Endif
  246.     Else
  247.         FCreate 1, STRING004, 1, 2
  248.         If (Ferr(1)) Then
  249.             BOOLEAN003 = 1
  250.         Else
  251.             BOOLEAN003 = 0
  252.         Endif
  253.         If (BOOLEAN003) Then
  254.             PrintLn 
  255.             PrintLn "@X0CSorry, the @X0F" + STRING004 + " @X0Cfile is currently inaccessible..."
  256.             FClose 1
  257.             Return
  258.         Endif
  259.     Endif
  260.     FOpen 2, STRING002, 0, 0
  261.     If (Ferr(2)) Then
  262.         BOOLEAN003 = 1
  263.     Else
  264.         BOOLEAN003 = 0
  265.     Endif
  266.     If (BOOLEAN003) Then
  267.         PrintLn 
  268.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  269.         FClose 1
  270.         FClose 2
  271.         Return
  272.     Endif
  273.     INTEGER001 = 1
  274.     Cls
  275.     PrintLn 
  276.     PrintLn Space(15) + "@X0A(@X0FSecurity Trash File Exportation Procedure@X0A)"
  277.     PrintLn 
  278.     PrintLn 
  279.     PrintLn "@X0BFrom   :@X0E " + STRING002
  280.     PrintLn "@X0BTo     :@X0E " + STRING004
  281.     PrintLn 
  282.     Print "@X0CPlease wait, now exporting...@X0F    "
  283.     FSeek 2, 39, 0
  284.     While (INTEGER001 <= INTEGER002) Do
  285.         FSeek 2, 3, 1
  286.         FRead 2, BYTE001, 1
  287.         FPutLn 1, String(BYTE001)
  288.         Gosub LABEL037
  289.         Inc INTEGER001
  290.     EndWhile
  291.     FClose 1
  292.     FClose 2
  293.     PrintLn 
  294.     PrintLn "@X0BExporting process completed!"
  295.     Log "Security Trash file exported...", 0
  296.     Delay 4
  297.     STRING001 = "S"
  298.     Return
  299.     :LABEL007
  300.     Gosub LABEL033
  301.     FSeek 2, 434, 0
  302.     FRead 2, STRING002, 75
  303.     FClose 2
  304.     STRING002 = Upper(STRING002)
  305.     STRING004 = ""
  306.     PrintLn 
  307.     InputStr "Path & filename to import", STRING004, 15, 45, Mask_Path() + Mask_File(), 2 + 4
  308.     Newline
  309.     STRING004 = Trim(Upper(STRING004), " ")
  310.     If (STRING004 == "") Return
  311.     WORD001 = 0
  312.     InputInt "Default node affected to place in all imported records", WORD001, 15
  313.     Newline
  314.     If (Exist(STRING004)) Goto LABEL008
  315.     PrintLn 
  316.     PrintLn "@X0C" + STRING004 + " does not exist!"
  317.     PrintLn 
  318.     Delay 9
  319.     Goto LABEL039
  320.     :LABEL008
  321.     If (Exist(STRING002)) Goto LABEL009
  322.     FCreate 1, STRING002, 1, 2
  323.     If (Ferr(1)) Then
  324.         BOOLEAN003 = 1
  325.     Else
  326.         BOOLEAN003 = 0
  327.     Endif
  328.     If (BOOLEAN003) Then
  329.         PrintLn 
  330.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  331.         FClose 1
  332.         Return
  333.     Endif
  334.     FWrite 1, " EDSBack v1.21 Username Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  335.     Goto LABEL010
  336.     :LABEL009
  337.     FOpen 1, STRING002, 1, 2
  338.     If (Ferr(1)) Then
  339.         BOOLEAN003 = 1
  340.     Else
  341.         BOOLEAN003 = 0
  342.     Endif
  343.     If (BOOLEAN003) Then
  344.         PrintLn 
  345.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  346.         FClose 1
  347.         Return
  348.     Endif
  349.     FSeek 1, 0, 2
  350.     :LABEL010
  351.     FOpen 2, STRING004, 0, 0
  352.     If (Ferr(2)) Then
  353.         BOOLEAN003 = 1
  354.     Else
  355.         BOOLEAN003 = 0
  356.     Endif
  357.     If (BOOLEAN003) Then
  358.         PrintLn 
  359.         PrintLn "@X0CSorry, the @X0F" + STRING004 + " @X0Cfile is currently inaccessible..."
  360.         FClose 1
  361.         FClose 2
  362.         Return
  363.     Endif
  364.     Cls
  365.     PrintLn 
  366.     PrintLn Space(13) + "@X0A(@X0FUsername Trash File Text File Importation Procedure@X0A)"
  367.     PrintLn 
  368.     PrintLn "@X0BFrom         :@X0E " + STRING004
  369.     PrintLn "@X0BTo           :@X0E " + STRING002
  370.     PrintLn "@X0BDefault Node :@X0E " + String(WORD001)
  371.     PrintLn 
  372.     PrintLn 
  373.     Print "@X0AImporting record #@X0F1"
  374.     INTEGER001 = 1
  375.     INTEGER004 = 1
  376.     :LABEL011
  377.     If (Ferr(2)) Goto LABEL012
  378.     Backup Len(String(INTEGER004))
  379.     Print String(INTEGER001)
  380.     STRING001 = ""
  381.     FGet 2, STRING001
  382.     STRING001 = Trim(Trim(Trim(STRING001, " "), Chr(13)), Chr(10))
  383.     If (STRING001 <> "") Then
  384.         FWrite 1, 0, 1
  385.         FWrite 1, WORD001, 2
  386.         FWrite 1, STRING001, 25
  387.         INTEGER004 = INTEGER001
  388.         Inc INTEGER001
  389.     Endif
  390.     Goto LABEL011
  391.     :LABEL012
  392.     STRING001 = "N"
  393.     FClose 1
  394.     FClose 2
  395.     PrintLn 
  396.     PrintLn "Username trash file importation process successful!"
  397.     Log STRING004 + "imported in Username trash file", 0
  398.     Return
  399.     :LABEL013
  400.     Gosub LABEL033
  401.     FSeek 2, 959, 0
  402.     FRead 2, STRING002, 75
  403.     FClose 2
  404.     STRING002 = Upper(STRING002)
  405.     STRING004 = ""
  406.     PrintLn 
  407.     InputStr "Path & filename to import", STRING004, 15, 45, Mask_Path() + Mask_File(), 2 + 4
  408.     Newline
  409.     STRING004 = Trim(Upper(STRING004), " ")
  410.     If (STRING004 == "") Return
  411.     InputInt "Default node affected to place in all imported records", WORD001, 15
  412.     Newline
  413.     If (Exist(STRING004)) Goto LABEL014
  414.     PrintLn 
  415.     PrintLn "@X0C" + STRING004 + " does not exist!"
  416.     PrintLn 
  417.     Delay 9
  418.     Goto LABEL039
  419.     :LABEL014
  420.     If (Exist(STRING002)) Goto LABEL015
  421.     FCreate 1, STRING002, 1, 2
  422.     If (Ferr(1)) Then
  423.         BOOLEAN003 = 1
  424.     Else
  425.         BOOLEAN003 = 0
  426.     Endif
  427.     If (BOOLEAN003) Then
  428.         PrintLn 
  429.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  430.         FClose 1
  431.         Return
  432.     Endif
  433.     FWrite 1, " EDSBack v1.21 Username Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  434.     Goto LABEL016
  435.     :LABEL015
  436.     FOpen 1, STRING002, 1, 2
  437.     If (Ferr(1)) Then
  438.         BOOLEAN003 = 1
  439.     Else
  440.         BOOLEAN003 = 0
  441.     Endif
  442.     If (BOOLEAN003) Then
  443.         PrintLn 
  444.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  445.         FClose 1
  446.         Return
  447.     Endif
  448.     FSeek 1, 0, 2
  449.     :LABEL016
  450.     FOpen 2, STRING004, 0, 0
  451.     If (Ferr(2)) Then
  452.         BOOLEAN003 = 1
  453.     Else
  454.         BOOLEAN003 = 0
  455.     Endif
  456.     If (BOOLEAN003) Then
  457.         PrintLn 
  458.         PrintLn "@X0CSorry, the @X0F" + STRING004 + " @X0Cfile is currently inaccessible..."
  459.         FClose 1
  460.         FClose 2
  461.         Return
  462.     Endif
  463.     Cls
  464.     PrintLn 
  465.     PrintLn Space(13) + "@X0A(@X0FSecurity Trash File Text File Importation Procedure@X0A)"
  466.     PrintLn 
  467.     PrintLn "@X0BFrom         :@X0E " + STRING004
  468.     PrintLn "@X0BTo           :@X0E " + STRING002
  469.     PrintLn "@X0BDefault Node :@X0E " + String(WORD001)
  470.     PrintLn 
  471.     PrintLn 
  472.     Print "@X0AImporting record #@X0F1"
  473.     INTEGER001 = 1
  474.     INTEGER004 = 1
  475.     :LABEL017
  476.     If (Ferr(2)) Goto LABEL018
  477.     Backup Len(String(INTEGER004))
  478.     Print String(INTEGER001)
  479.     FGet 2, STRING001
  480.     BYTE001 = S2I(STRING001, 10)
  481.     If (STRING001 <> "") Then
  482.         FWrite 1, 0, 1
  483.         FWrite 1, WORD001, 2
  484.         FWrite 1, BYTE001, 1
  485.         INTEGER004 = INTEGER001
  486.         Inc INTEGER001
  487.     Endif
  488.     Goto LABEL017
  489.     :LABEL018
  490.     STRING001 = "S"
  491.     FClose 1
  492.     FClose 2
  493.     PrintLn 
  494.     PrintLn "Security trash file importation process successful!"
  495.     Log STRING004 + "imported in Security trash file", 0
  496.     Return
  497.     :LABEL019
  498.     Gosub LABEL033
  499.     FSeek 2, 434, 0
  500.     FRead 2, STRING002, 75
  501.     FClose 2
  502.     If (Exist(STRING002)) Goto LABEL020
  503.     PrintLn 
  504.     PrintLn "@X0C" + STRING002 + " does not exist!"
  505.     Delay 9
  506.     Return
  507.     :LABEL020
  508.     INTEGER003 = FileInf(STRING002, 4)
  509.     INTEGER002 = (INTEGER003 - 39) / 28
  510.     PrintLn 
  511.     PrintLn "@X0F   FileSize = " + String(INTEGER003) + "  NumRecs = " + String(INTEGER002)
  512.     If (INTEGER002 <= 1) Then
  513.         PrintLn 
  514.         PrintLn "@X0CTHERE MUST BE AT LEAST ONE RECORD PRESENT IN THE TRASH CAN FILE!"
  515.         PrintLn 
  516.         Delay 18
  517.         Return
  518.     Endif
  519.     KbdChkOff
  520.     Rename STRING002, PPEPath() + String(PcbNode()) + "tn.$$$"
  521.     FCreate 1, STRING002, 1, 2
  522.     If (Ferr(1)) Then
  523.         BOOLEAN003 = 1
  524.     Else
  525.         BOOLEAN003 = 0
  526.     Endif
  527.     If (BOOLEAN003) Then
  528.         PrintLn 
  529.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  530.         FClose 1
  531.         Return
  532.     Endif
  533.     FOpen 2, PPEPath() + String(PcbNode()) + "tn.$$$", 0, 3
  534.     If (Ferr(2)) Then
  535.         BOOLEAN003 = 1
  536.     Else
  537.         BOOLEAN003 = 0
  538.     Endif
  539.     If (BOOLEAN003) Then
  540.         PrintLn 
  541.         PrintLn "@X0CSorry, the @X0F" + String(PcbNode()) + "tn.$$$ @X0Cfile is currently inaccessible..."
  542.         FClose 2
  543.         FClose 1
  544.         PrintLn 
  545.         PrintLn "@X0ADeleting & renaming temporary files..."
  546.         Delete STRING002
  547.         Rename PPEPath() + String(PcbNode()) + "tn.$$$", STRING002
  548.         Return
  549.     Endif
  550.     BOOLEAN002 = 0
  551.     FSeek 1, 0, 0
  552.     FWrite 1, " EDSBack v1.21 Username Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  553.     PrintLn 
  554.     Print "@X0BPacking Name Trash Can File...     "
  555.     If (OnLocal()) Then
  556.         PrintLn 
  557.         PrintLn 
  558.         Print "@X0F0% @X07░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ @X0F100%"
  559.         BYTE002 = GetY()
  560.     Endif
  561.     INTEGER003 = FileInf(PPEPath() + String(PcbNode()) + "tn.$$$", 4)
  562.     INTEGER002 = (INTEGER003 - 39) / 28
  563.     INTEGER001 = 1
  564.     While (INTEGER001 <= INTEGER002) Do
  565.         BOOLEAN002 = 0
  566.         BOOLEAN006 = 0
  567.         WORD001 = 0
  568.         STRING003 = ""
  569.         FSeek 2, 39 + INTEGER001 * 28 - 28, 0
  570.         FRead 2, BOOLEAN006, 1
  571.         If (BOOLEAN006) Then
  572.             BOOLEAN002 = 1
  573.         Else
  574.             BOOLEAN002 = 0
  575.         Endif
  576.         If (BOOLEAN002) Goto LABEL021
  577.         FWrite 1, BOOLEAN006, 1
  578.         FRead 2, WORD001, 2
  579.         FWrite 1, WORD001, 2
  580.         FRead 2, STRING003, 25
  581.         FWrite 1, STRING003, 25
  582.         :LABEL021
  583.         If (OnLocal()) Then
  584.             Gosub LABEL036
  585.         Else
  586.             Gosub LABEL037
  587.         Endif
  588.         Inc INTEGER001
  589.     EndWhile
  590.     Color 7
  591.     FClose 1
  592.     FClose 2
  593.     PrintLn 
  594.     PrintLn 
  595.     PrintLn "@X0BDeleting temporary files..."
  596.     Delete PPEPath() + String(PcbNode()) + "tn.$$$"
  597.     PrintLn "@X0EChecking files..."
  598.     INTEGER003 = FileInf(STRING002, 4)
  599.     INTEGER002 = (INTEGER003 - 39) / 28
  600.     If (INTEGER002 < 1) Then
  601.         PrintLn 
  602.         PrintLn "@X0C0 byte file!  Recreating with a dummy record..."
  603.         FCreate 1, STRING002, 1, 2
  604.         FWrite 1, " EDSBack v1.21 Username Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  605.         FWrite 1, 0, 1
  606.         FWrite 1, 0, 2
  607.         FWrite 1, Space(25), 25
  608.         FClose 1
  609.         PrintLn "@X0ANew name trash can file successfully created..."
  610.     Endif
  611.     PrintLn "@X0FName trash can file successfully packed!"
  612.     Log "Name trash can file successfully packed!", 0
  613.     KbdChkOn
  614.     Return
  615.     :LABEL022
  616.     Gosub LABEL033
  617.     FSeek 2, 959, 0
  618.     FRead 2, STRING002, 75
  619.     FClose 2
  620.     If (Exist(STRING002)) Goto LABEL023
  621.     PrintLn 
  622.     PrintLn "@X0C" + STRING002 + " does not exist!"
  623.     Delay 9
  624.     Return
  625.     :LABEL023
  626.     INTEGER003 = FileInf(STRING002, 4)
  627.     INTEGER002 = (INTEGER003 - 39) / 4
  628.     PrintLn 
  629.     PrintLn "@X0F   FileSize = " + String(INTEGER003) + "  NumRecs = " + String(INTEGER002)
  630.     If (INTEGER002 <= 1) Then
  631.         PrintLn 
  632.         PrintLn "@X0CTHERE MUST BE AT LEAST ONE RECORD PRESENT IN THE TRASH CAN FILE!"
  633.         PrintLn 
  634.         Delay 18
  635.         Return
  636.     Endif
  637.     KbdChkOff
  638.     Rename STRING002, PPEPath() + String(PcbNode()) + "tl.$$$"
  639.     FCreate 1, STRING002, 1, 2
  640.     If (Ferr(1)) Then
  641.         BOOLEAN003 = 1
  642.     Else
  643.         BOOLEAN003 = 0
  644.     Endif
  645.     If (BOOLEAN003) Then
  646.         PrintLn 
  647.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  648.         FClose 1
  649.         Return
  650.     Endif
  651.     FOpen 2, PPEPath() + String(PcbNode()) + "tl.$$$", 0, 3
  652.     If (Ferr(2)) Then
  653.         BOOLEAN003 = 1
  654.     Else
  655.         BOOLEAN003 = 0
  656.     Endif
  657.     If (BOOLEAN003) Then
  658.         PrintLn 
  659.         PrintLn "@X0CSorry, the @X0F" + String(PcbNode()) + "tl.$$$ @X0Cfile is currently inaccessible..."
  660.         FClose 2
  661.         FClose 1
  662.         PrintLn 
  663.         PrintLn "@X0ADeleting & renaming temporary files..."
  664.         Delete STRING002
  665.         Rename PPEPath() + String(PcbNode()) + "tl.$$$", STRING002
  666.         Return
  667.     Endif
  668.     BOOLEAN002 = 0
  669.     FSeek 1, 0, 0
  670.     FWrite 1, " EDSBack v1.21 Security Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  671.     PrintLn 
  672.     Print "@X0BPacking Security Trash Can File...     "
  673.     If (OnLocal()) Then
  674.         PrintLn 
  675.         PrintLn 
  676.         Print "@X0F0% @X07░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ @X0F100%"
  677.         BYTE002 = GetY()
  678.     Endif
  679.     INTEGER003 = FileInf(PPEPath() + String(PcbNode()) + "tl.$$$", 4)
  680.     INTEGER002 = (INTEGER003 - 39) / 4
  681.     INTEGER001 = 1
  682.     While (INTEGER001 <= INTEGER002) Do
  683.         BOOLEAN002 = 0
  684.         BOOLEAN006 = 0
  685.         WORD001 = 0
  686.         BYTE001 = 0
  687.         FSeek 2, 39 + INTEGER001 * 4 - 4, 0
  688.         FRead 2, BOOLEAN006, 1
  689.         If (BOOLEAN006) Then
  690.             BOOLEAN002 = 1
  691.         Else
  692.             BOOLEAN002 = 0
  693.         Endif
  694.         If (BOOLEAN002) Goto LABEL024
  695.         FWrite 1, BOOLEAN006, 1
  696.         FRead 2, WORD001, 2
  697.         FWrite 1, WORD001, 2
  698.         FRead 2, BYTE001, 1
  699.         FWrite 1, BYTE001, 1
  700.         :LABEL024
  701.         If (OnLocal()) Then
  702.             Gosub LABEL036
  703.         Else
  704.             Gosub LABEL037
  705.         Endif
  706.         Inc INTEGER001
  707.     EndWhile
  708.     Color 7
  709.     FClose 1
  710.     FClose 2
  711.     PrintLn 
  712.     PrintLn 
  713.     PrintLn "@X0BDeleting temporary files..."
  714.     Delete PPEPath() + String(PcbNode()) + "tl.$$$"
  715.     PrintLn "@X0EChecking files..."
  716.     INTEGER003 = FileInf(STRING002, 4)
  717.     INTEGER002 = (INTEGER003 - 39) / 4
  718.     If (INTEGER002 < 1) Then
  719.         PrintLn 
  720.         PrintLn "@X0C0 byte file!  Recreating with a dummy record..."
  721.         FCreate 1, STRING002, 1, 2
  722.         FWrite 1, " EDSBack v1.21 Security Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  723.         FWrite 1, 0, 1
  724.         FWrite 1, 0, 2
  725.         FWrite 1, 0, 1
  726.         FClose 1
  727.         PrintLn "@X0ANew security trash can file successfully created..."
  728.     Endif
  729.     PrintLn "@X0FName security can file successfully packed!"
  730.     Log "Security trash can file successfully packed!", 0
  731.     KbdChkOn
  732.     Return
  733.     :LABEL025
  734.     BOOLEAN002 = 0
  735.     BOOLEAN001 = 1
  736.     INTEGER001 = 1
  737.     Gosub LABEL033
  738.     FSeek 2, 434, 0
  739.     FRead 2, STRING002, 75
  740.     FClose 2
  741.     INTEGER003 = FileInf(STRING002, 4)
  742.     If (Exist(STRING002)) Goto LABEL026
  743.     PrintLn 
  744.     PrintLn "@X0CCreating " + STRING002
  745.     BOOLEAN003 = 1
  746.     FCreate 1, STRING002, 2, 2
  747.     If (Ferr(1)) Then
  748.         BOOLEAN003 = 1
  749.     Else
  750.         BOOLEAN003 = 0
  751.     Endif
  752.     If (BOOLEAN003) Then
  753.         PrintLn 
  754.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " X0Cfile is currently inaccessible..."
  755.         FClose 1
  756.         Return
  757.     Endif
  758.     FSeek 1, 0, 0
  759.     FWrite 1, " EDSBack v1.21 Username Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  760.     FWrite 1, 0, 1
  761.     FWrite 1, 0, 2
  762.     FWrite 1, Space(25), 25
  763.     INTEGER003 = 67
  764.     Goto LABEL027
  765.     :LABEL026
  766.     BOOLEAN003 = 1
  767.     FOpen 1, STRING002, 2, 2
  768.     If (Ferr(1)) Then
  769.         BOOLEAN003 = 1
  770.     Else
  771.         BOOLEAN003 = 0
  772.     Endif
  773.     If (BOOLEAN003) Then
  774.         PrintLn 
  775.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " X0Cfile is currently inaccessible..."
  776.         FClose 1
  777.         Return
  778.     Endif
  779.     :LABEL027
  780.     If (BOOLEAN002) Goto LABEL028
  781.     If (BOOLEAN001) Then
  782.         FSeek 1, 39 + INTEGER001 * 28 - 28, 0
  783.         FRead 1, BOOLEAN006, 1
  784.         FRead 1, WORD001, 2
  785.         FRead 1, STRING003, 25
  786.         BOOLEAN001 = 0
  787.     Endif
  788.     PrintLn 
  789.     INTEGER002 = (INTEGER003 - 39) / 28
  790.     PrintLn "    @X0FName Trash File"
  791.     PrintLn "    @X0BRecord #@X0E" + String(INTEGER001) + "@X0B of @X0E" + String(INTEGER002)
  792.     Print "    @X0F(@X09D@X0F)eleted : @X0C"
  793.     If (BOOLEAN006) Then
  794.         PrintLn "Yes"
  795.     Else
  796.         PrintLn "No "
  797.     Endif
  798.     PrintLn 
  799.     PrintLn "    @X0FN(@X09O@X0F)de : @X0C" + String(WORD001)
  800.     PrintLn "    @X0F(@X09N@X0F)ame : @X0C" + STRING003
  801.     PrintLn 
  802.     PrintLn "    @X0F(@X09+@X0F) @X0BAdvance 1 record  @X0F(@X09-@X0F) @X0BRetard 1 record"
  803.     PrintLn "    @X0F(@X09J@X0F)@X0Bump to record      @X0F(@X09A@X0F)@X0Bdd a record"
  804.     PrintLn "    @X0F(@X09Q@X0F)@X0Buit"
  805.     PrintLn 
  806.     STRING004 = "+"
  807.     InputStr "Enter command", STRING004, 10, 1, "NnAaDdJj+-OoQqRr", 2 + 4
  808.     Newline
  809.     STRING004 = Upper(STRING004)
  810.     Select Case (STRING004)
  811.         Case "Q", "R"
  812.             FClose 1
  813.             BOOLEAN001 = 0
  814.             BOOLEAN002 = 1
  815.         Case "+"
  816.             If (INTEGER001 >= INTEGER002) Then
  817.                 INTEGER001 = 1
  818.             Else
  819.                 Inc INTEGER001
  820.             Endif
  821.             BOOLEAN002 = 0
  822.             BOOLEAN001 = 1
  823.         Case "-"
  824.             If (INTEGER001 <= 1) Then
  825.                 INTEGER001 = INTEGER002
  826.             Else
  827.                 Dec INTEGER001
  828.             Endif
  829.             BOOLEAN002 = 0
  830.             BOOLEAN001 = 1
  831.         Case "J"
  832.             INTEGER004 = INTEGER002
  833.             InputInt "Enter record # to jump to", INTEGER004, 10
  834.             If (INTEGER004 > INTEGER002) Then
  835.                 INTEGER001 = INTEGER002
  836.             ElseIf (INTEGER004 < 1) Then
  837.                 INTEGER001 = 1
  838.             Else
  839.                 INTEGER001 = INTEGER004
  840.             Endif
  841.             BOOLEAN002 = 0
  842.             BOOLEAN001 = 1
  843.         Case "D"
  844.             FSeek 1, 39 + INTEGER001 * 28 - 28, 0
  845.             If (BOOLEAN006) Then
  846.                 FWrite 1, 0, 1
  847.             Else
  848.                 FWrite 1, 1, 1
  849.             Endif
  850.             BOOLEAN002 = 0
  851.             BOOLEAN001 = 1
  852.         Case "A"
  853.             FSeek 1, 0, 2
  854.             WORD001 = 0
  855.             InputInt "Enter node affected (0 = ALL)", WORD001, 12
  856.             STRING003 = ""
  857.             Newline
  858.             InputStr "Enter name", STRING003, 10, 25, Mask_Ascii(), 2 + 4
  859.             STRING003 = Upper(STRING003)
  860.             Newline
  861.             PrintLn "@X0FCreating record..."
  862.             FWrite 1, 0, 1
  863.             FWrite 1, WORD001, 2
  864.             FWrite 1, STRING003, 25
  865.             INTEGER002 = INTEGER002 + 1
  866.             INTEGER003 = INTEGER003 + 28
  867.             INTEGER001 = INTEGER002
  868.             BOOLEAN001 = 1
  869.             BOOLEAN002 = 0
  870.         Case "O"
  871.             InputInt "Enter new node affected (0 = ALL)", WORD001, 12
  872.             FSeek 1, 39 + INTEGER001 * 28 - 27, 0
  873.             FWrite 1, WORD001, 2
  874.             BOOLEAN002 = 0
  875.             BOOLEAN001 = 1
  876.         Case "N"
  877.             InputStr "Enter new name", STRING003, 10, 25, Mask_Ascii(), 2 + 4
  878.             STRING003 = Upper(STRING003)
  879.             FSeek 1, 39 + INTEGER001 * 28 - 25, 0
  880.             FWrite 1, STRING003, 25
  881.             BOOLEAN002 = 0
  882.             BOOLEAN001 = 1
  883.     End Select
  884.     Goto LABEL027
  885.     :LABEL028
  886.     FClose 1
  887.     Return
  888.     :LABEL029
  889.     BOOLEAN002 = 0
  890.     BOOLEAN001 = 1
  891.     INTEGER001 = 1
  892.     Gosub LABEL033
  893.     FSeek 2, 959, 0
  894.     FRead 2, STRING002, 75
  895.     FClose 2
  896.     INTEGER003 = FileInf(STRING002, 4)
  897.     If (Exist(STRING002)) Goto LABEL030
  898.     PrintLn 
  899.     PrintLn "@X0CCreating " + STRING002
  900.     BOOLEAN003 = 1
  901.     FCreate 1, STRING002, 2, 2
  902.     If (Ferr(1)) Then
  903.         BOOLEAN003 = 1
  904.     Else
  905.         BOOLEAN003 = 0
  906.     Endif
  907.     If (BOOLEAN003) Then
  908.         PrintLn 
  909.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " X0Cfile is currently inaccessible..."
  910.         FClose 1
  911.         Return
  912.     Endif
  913.     FSeek 1, 0, 0
  914.     FWrite 1, " EDSBack v1.21 Security Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  915.     FWrite 1, 0, 1
  916.     FWrite 1, 0, 2
  917.     FWrite 1, 0, 1
  918.     INTEGER003 = 43
  919.     Goto LABEL031
  920.     :LABEL030
  921.     BOOLEAN003 = 1
  922.     FOpen 1, STRING002, 2, 2
  923.     If (Ferr(1)) Then
  924.         BOOLEAN003 = 1
  925.     Else
  926.         BOOLEAN003 = 0
  927.     Endif
  928.     If (BOOLEAN003) Then
  929.         PrintLn 
  930.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " X0Cfile is currently inaccessible..."
  931.         FClose 1
  932.         Return
  933.     Endif
  934.     :LABEL031
  935.     If (BOOLEAN002) Goto LABEL032
  936.     If (BOOLEAN001) Then
  937.         FSeek 1, 39 + INTEGER001 * 4 - 4, 0
  938.         FRead 1, BOOLEAN006, 1
  939.         FRead 1, WORD001, 2
  940.         FRead 1, BYTE001, 1
  941.         BOOLEAN001 = 0
  942.     Endif
  943.     PrintLn 
  944.     INTEGER002 = (INTEGER003 - 39) / 4
  945.     PrintLn "    @X0FSecurity Trash File"
  946.     PrintLn "    @X0BRecord #@X0E" + String(INTEGER001) + "@X0B of @X0E" + String(INTEGER002)
  947.     Print "    @X0F(@X09D@X0F)eleted : @X0C"
  948.     If (BOOLEAN006) Then
  949.         PrintLn "Yes"
  950.     Else
  951.         PrintLn "No "
  952.     Endif
  953.     PrintLn 
  954.     PrintLn "    @X0FN(@X09O@X0F)de           : @X0C" + String(WORD001)
  955.     PrintLn "    @X0F(@X09S@X0F)ecurity Level : @X0C" + String(BYTE001)
  956.     PrintLn 
  957.     PrintLn "    @X0F(@X09+@X0F) @X0BAdvance 1 record  @X0F(@X09-@X0F) @X0BRetard 1 record"
  958.     PrintLn "    @X0F(@X09J@X0F)@X0Bump to record      @X0F(@X09A@X0F)@X0Bdd a record"
  959.     PrintLn "    @X0F(@X09Q@X0F)@X0Buit"
  960.     PrintLn 
  961.     STRING004 = "+"
  962.     InputStr "Enter command", STRING004, 10, 1, "SsAaDdJj+-OoQqRr", 2 + 4
  963.     Newline
  964.     STRING004 = Upper(STRING004)
  965.     Select Case (STRING004)
  966.         Case "Q", "R"
  967.             FClose 1
  968.             BOOLEAN001 = 0
  969.             BOOLEAN002 = 1
  970.         Case "+"
  971.             If (INTEGER001 >= INTEGER002) Then
  972.                 INTEGER001 = 1
  973.             Else
  974.                 Inc INTEGER001
  975.             Endif
  976.             BOOLEAN002 = 0
  977.             BOOLEAN001 = 1
  978.         Case "-"
  979.             If (INTEGER001 <= 1) Then
  980.                 INTEGER001 = INTEGER002
  981.             Else
  982.                 Dec INTEGER001
  983.             Endif
  984.             BOOLEAN002 = 0
  985.             BOOLEAN001 = 1
  986.         Case "J"
  987.             INTEGER004 = INTEGER002
  988.             InputInt "Enter record # to jump to", INTEGER004, 10
  989.             If (INTEGER004 > INTEGER002) Then
  990.                 INTEGER001 = INTEGER002
  991.             ElseIf (INTEGER004 < 1) Then
  992.                 INTEGER001 = 1
  993.             Else
  994.                 INTEGER001 = INTEGER004
  995.             Endif
  996.             BOOLEAN002 = 0
  997.             BOOLEAN001 = 1
  998.         Case "D"
  999.             FSeek 1, 39 + INTEGER001 * 4 - 4, 0
  1000.             If (BOOLEAN006) Then
  1001.                 FWrite 1, 0, 1
  1002.             Else
  1003.                 FWrite 1, 1, 1
  1004.             Endif
  1005.             BOOLEAN002 = 0
  1006.             BOOLEAN001 = 1
  1007.         Case "A"
  1008.             FSeek 1, 0, 2
  1009.             WORD001 = 0
  1010.             InputInt "Enter node affected (0 = ALL)", WORD001, 12
  1011.             BYTE001 = 0
  1012.             Newline
  1013.             InputInt "Enter security level", BYTE001, 10
  1014.             Newline
  1015.             PrintLn "@X0FCreating record..."
  1016.             FWrite 1, 0, 1
  1017.             FWrite 1, WORD001, 2
  1018.             FWrite 1, BYTE001, 1
  1019.             INTEGER002 = INTEGER002 + 1
  1020.             INTEGER003 = INTEGER003 + 4
  1021.             INTEGER001 = INTEGER002
  1022.             BOOLEAN001 = 1
  1023.             BOOLEAN002 = 0
  1024.         Case "O"
  1025.             InputInt "Enter new node affected (0 = ALL)", WORD001, 12
  1026.             FSeek 1, 39 + INTEGER001 * 4 - 3, 0
  1027.             FWrite 1, WORD001, 2
  1028.             BOOLEAN002 = 0
  1029.             BOOLEAN001 = 1
  1030.         Case "S"
  1031.             InputInt "Enter new security level", BYTE001, 10
  1032.             FSeek 1, 39 + INTEGER001 * 4 - 1, 0
  1033.             FWrite 1, BYTE001, 1
  1034.             BOOLEAN002 = 0
  1035.             BOOLEAN001 = 1
  1036.     End Select
  1037.     Goto LABEL031
  1038.     :LABEL032
  1039.     FClose 1
  1040.     Return
  1041.     :LABEL033
  1042.     STRING001 = PPEPath() + "EDSBACK.XXX"
  1043.     If (Exist(STRING001)) Then
  1044.         FOpen 2, STRING001, 0, 0
  1045.     Else
  1046.         PrintLn 
  1047.         PrintLn "@X0FPath & filename to EDSBack config file @X0E(Enter Below)"
  1048.         InputStr "", STRING001, 12, 75, Mask_Path() + Mask_File(), 2 + 4
  1049.         If (Exist(STRING001)) Goto LABEL034
  1050.         PrintLn 
  1051.         PrintLn "@X0C" + STRING001 + " DOES NOT EXIST!   @X0AReturning to EDSUtil Main..."
  1052.         Goto LABEL039
  1053.         Goto LABEL035
  1054.         :LABEL034
  1055.         FOpen 2, STRING001, 0, 0
  1056.     Endif
  1057.     :LABEL035
  1058.     If (Ferr(2)) Then
  1059.         BOOLEAN003 = 1
  1060.     Else
  1061.         BOOLEAN003 = 0
  1062.     Endif
  1063.     If (BOOLEAN003) Then
  1064.         PrintLn 
  1065.         PrintLn "@X0CSorry, the " + STRING001 + " @X0Cfile is currently inaccessible..."
  1066.         FClose 2
  1067.         Return
  1068.     Endif
  1069.     Return
  1070.     :LABEL036
  1071.     If (INTEGER001 == 1) BYTE005 = 0
  1072.     If ((INTEGER001 <> 0) && (INTEGER002 <> 0)) Then
  1073.         REAL002 = ToReal(INTEGER001) / ToReal(INTEGER002)
  1074.         REAL003 = FmtReal(ToReal(35) * REAL002, 1, 0)
  1075.         BYTE004 = ToByte(REAL003) - BYTE005
  1076.         If (BYTE004 <> BYTE005) Then
  1077.             Color 63
  1078.             AnsiPos 4 + BYTE005, BYTE002
  1079.             For BYTE005 = 1 To BYTE004
  1080.                 Print "░"
  1081.             Next
  1082.             BYTE005 = ToByte(REAL003)
  1083.             REAL002 = FmtReal(REAL002 * 100, 1, 0)
  1084.             BYTE004 = (43 - Len(String(REAL002) + "%")) / 2
  1085.             Color 11
  1086.             REAL003 = ToReal(BYTE002) - 1
  1087.             AnsiPos BYTE004, ToByte(REAL003)
  1088.             Print String(REAL002) + "%"
  1089.             AnsiPos 45, BYTE002
  1090.         Endif
  1091.     Endif
  1092.     Return
  1093.     :LABEL037
  1094.     If ((INTEGER001 <> 0) && (INTEGER002 <> 0)) Then
  1095.         If (INTEGER001 == 1) Then
  1096.             BYTE003 = 0
  1097.             Goto LABEL038
  1098.         Endif
  1099.         BYTE003 = REAL001
  1100.         :LABEL038
  1101.         REAL001 = ToReal(INTEGER001) / ToReal(INTEGER002)
  1102.         REAL001 = FmtReal(REAL001 * 100, 1, 0)
  1103.         If (BYTE003 <> REAL001) Then
  1104.             Backup Len(String(BYTE003) + "%")
  1105.             Print String(REAL001) + "%"
  1106.         Endif
  1107.     Endif
  1108.     Return
  1109.     :LABEL039
  1110.     End
  1111.  
  1112. ;------------------------------------------------------------------------------
  1113. ;
  1114. ; Usage report (before postprocessing)
  1115. ;
  1116. ; ■ Statements used :
  1117. ;
  1118. ;    1       End
  1119. ;    4       Cls
  1120. ;    4       Color 
  1121. ;    221     Goto 
  1122. ;    216     Let 
  1123. ;    15      Print 
  1124. ;    187     PrintLn 
  1125. ;    134     If 
  1126. ;    10      FCreate 
  1127. ;    12      FOpen 
  1128. ;    2       FAppend 
  1129. ;    53      FClose 
  1130. ;    2       FGet 
  1131. ;    2       FPutLn 
  1132. ;    4       Delete 
  1133. ;    6       Log 
  1134. ;    10      InputStr 
  1135. ;    10      InputInt 
  1136. ;    22      Gosub 
  1137. ;    38      Return
  1138. ;    10      Delay 
  1139. ;    8       Inc 
  1140. ;    2       Dec 
  1141. ;    11      Newline
  1142. ;    1       GetToken 
  1143. ;    2       KbdChkOn
  1144. ;    2       KbdChkOff
  1145. ;    3       AnsiPos 
  1146. ;    3       Backup 
  1147. ;    4       Rename 
  1148. ;    30      FSeek 
  1149. ;    22      FRead 
  1150. ;    46      FWrite 
  1151. ;
  1152. ;
  1153. ; ■ Functions used :
  1154. ;
  1155. ;    13      *
  1156. ;    13      /
  1157. ;    191     +
  1158. ;    23      -
  1159. ;    32      ==
  1160. ;    9       <>
  1161. ;    5       <
  1162. ;    9       <=
  1163. ;    2       >
  1164. ;    4       >=
  1165. ;    143     !
  1166. ;    16      &&
  1167. ;    4       ||
  1168. ;    4       Len(
  1169. ;    13      Upper()
  1170. ;    7       Space()
  1171. ;    23      Ferr()
  1172. ;    42      Chr()
  1173. ;    8       Trim()
  1174. ;    2       Strip()
  1175. ;    34      String()
  1176. ;    5       Mask_File()
  1177. ;    5       Mask_Path()
  1178. ;    2       Mask_Ascii()
  1179. ;    13      PPEPath()
  1180. ;    12      PcbNode()
  1181. ;    4       OnLocal()
  1182. ;    14      Exist()
  1183. ;    1       S2I()
  1184. ;    2       GetY()
  1185. ;    10      FileInf()
  1186. ;    1       TokCount()
  1187. ;    3       ToByte()
  1188. ;    6       ToReal()
  1189. ;    3       FmtReal()
  1190. ;
  1191. ;------------------------------------------------------------------------------
  1192. ;
  1193. ; Analysis flags : No flag
  1194. ;
  1195. ;------------------------------------------------------------------------------
  1196. ;
  1197. ; Postprocessing report
  1198. ;
  1199. ;    1       For/Next
  1200. ;    4       While/EndWhile
  1201. ;    83      If/Then or If/Then/Else
  1202. ;    4       Select Case
  1203. ;
  1204. ;------------------------------------------------------------------------------
  1205. ;                 AEGiS Corp - Break the routines, code against the machines!
  1206. ;------------------------------------------------------------------------------
  1207.